Fix ClaimRoyalties messaging: three states + tooltip#249
Conversation
… tooltip Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
APPROVE
Clean, focused change. Three observations:
-
Logic correct: The three states (
!eligible,eligible && unclaimed === 0,eligible && unclaimed > 0) are mutually exclusive and exhaustive fortxState === "idle"— no edge case gaps. -
Tooltip styling:
line-through opacity-60+ checkmark on the plot requirement when met is a nice UX touch — makes progress visually clear at a glance. -
Copy improvement: "Royalties accrue when readers trade your token" is much more informative than the old "Unclaimed > 0" — users now understand why the balance might be zero.
No issues found. Typecheck passes per PR description.
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The PR matches issue #248 and keeps the change narrowly scoped to ClaimRoyalties messaging. The new states remove the misleading unlock copy and add the missing eligible-but-zero explanation without changing claim behavior.
Findings
- [info] No blocking issues found.
Decision
Approve. The three-state message logic and tooltip update are implemented as requested. CI was still pending when reviewed.
Summary
plotCount < 2: "Chain at least 2 plots to enable royalty claims (X/2)"plotCount >= 2andunclaimed == 0: "No royalties yet — royalties accrue when readers trade your token"plotCount >= 2andunclaimed > 0: existing behavior (amount + enabled Claim button)Fixes #248
Test plan
plotCount < 2shows "Chain at least 2 plots to enable royalty claims (X/2)"plotCount >= 2and no unclaimed shows "No royalties yet" messageplotCount >= 2and unclaimed > 0 shows amount + enabled Claim button (unchanged)npm run typecheckpasses🤖 Generated with Claude Code